/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.business.router.facade;

import info.peigen.hotpot.business.router.facade.order.virtualaccount.ChangeVirtualAccountOrder;
import info.peigen.hotpot.business.router.facade.order.virtualaccount.CreateVirtualAccountOrder;
import info.peigen.hotpot.business.router.facade.order.virtualaccount.DeleteVirtualAccountOrder;
import info.peigen.hotpot.business.router.facade.result.virtualaccount.ChangeVirtualAccountResult;
import info.peigen.hotpot.business.router.facade.result.virtualaccount.CreateVirtualAccountResult;
import info.peigen.hotpot.business.router.facade.result.virtualaccount.DeleteVirtualAccountResult;

/**
 * <b>(VirtualAccountFacade)</b>
 * 虚拟账户
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2021/8/31
 */
public interface VirtualAccountFacade {
    /**
     * 创建虚拟账户
     *
     * @param order 入参
     *
     * @return CreateVirtualAccountResult
     */
    CreateVirtualAccountResult createVirtualAccount(CreateVirtualAccountOrder order);

    /**
     * 修改虚拟账户
     *
     * @param order 入参
     *
     * @return ChangeVirtualAccountResult
     */
    ChangeVirtualAccountResult changeVirtualAccount(ChangeVirtualAccountOrder order);

    /**
     * 删除虚拟账户
     *
     * @param order 入参
     *
     * @return DeleteVirtualAccountResult
     */
    DeleteVirtualAccountResult deleteVirtualAccount(DeleteVirtualAccountOrder order);
}
